装饰器允许在不修改原始函数代码的情况下,通过添加额外的功能来扩展函数的行为。
装饰器的返回值也是一个函数对象。
通过注解可以将装饰器中的功能附加到某个具体业务的函数中。
def decorate(func):
def wrapper():
print("开始调用函数...")
func()
print("函数调用结束...")
return wrapper
@decorate #这是一个注解,给函数附加一些其他功能
def sayHello():
print("您好,世界")
sayHello()
返回值:
开始调用函数...
您好,世界
函数调用结束...
def decorate(func): #接收函数作为参数
def wrapper():
inn=input("请输入用户口令:")
if inn=="123456":
print("用户验证成功!")
func() #执行目标函数
else:
print("用户验证失败,请再次确认")
return wrapper
@decorate #这是一个注解,给函数附加一些其他功能
def sayHello():
print("转账中.....")
sayHello()
返回值:
请输入用户口令:123456
用户验证成功!
转账中.....